package com.atguigu;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class RedisPool {

    private static JedisPool jedisPool;
    private static Jedis jedis;

    //1.声明一个静态方法获取redis链接
    public static Jedis getJedis(){
        if (jedisPool == null){
            JedisPoolConfig jedisPoolConfig =new JedisPoolConfig();
            jedisPoolConfig.setMaxTotal(10); //最大可用连接数
            jedisPoolConfig.setMaxIdle(5); //最大闲置连接数
            jedisPoolConfig.setMinIdle(5); //最小闲置连接数
            jedisPoolConfig.setBlockWhenExhausted(true); //连接耗尽是否等待
            jedisPoolConfig.setMaxWaitMillis(2000); //等待时间
            jedisPoolConfig.setTestOnBorrow(true); //取连接的时候进行一下测试 ping pong

            jedisPool = new JedisPool(jedisPoolConfig,"hadoop102");
            System.out.println("获取Redis链接");
            jedis = jedisPool.getResource();
            return jedis;
        }else {
            System.out.println("获取Redis链接");
            jedis = jedisPool.getResource();
            return jedis;
        }
    }

    //封装一个方法关闭链接
    public static void closeResource(){
        System.out.println("关闭链接。。。");
        jedis.close();
        jedisPool.close();
    }

}
